package cn.com.stary1993.kite.captcha.store;

import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
 * 提取出用于缓存的接口
 *
 * @author stary1993
 */
public interface CacheStore {

	/**
	 * 读取缓存数据通过key
	 * @param key key
	 * @return
	 */
	Object getCache(String key);

	/**
	 * 获取并删除数据 通过key
	 * @param key key
	 * @return
	 */
	Object getAndRemoveCache(String key);

	/**
	 * 添加缓存数据
	 * @param key key
	 * @param data data
	 * @param expire 过期时间
	 * @param timeUnit 过期时间单位
	 * @return boolean
	 */
	boolean setCache(String key, Map<String, Object> data, Long expire, TimeUnit timeUnit);

	/**
	 * 添加缓存数据
	 * @param key key
	 * @param data data
	 * @param expire 过期时间
	 * @param timeUnit 过期时间单位
	 * @return boolean
	 */
	boolean setCache(String key, String data, Long expire, TimeUnit timeUnit);

}
